#include "widget.h"
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    //主要方法
    QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL");//添加驱动
    data_base.setHostName("47.110.157.197");  //设置主机地址
    data_base.setPort(3306);  //mysql设置端口
    data_base.setDatabaseName("myproject");  //设置数据库名称
    data_base.setUserName("root");  //设置用户名
    data_base.setPassword("420683ABc@");  //设置密码
    if(!data_base.open())//打开数据库
    {
        qDebug()<<"connect failed";
        qDebug() << data_base.lastError();//.databaseText()  输出错误信息
    }
    else{
        qDebug()<<"success";
        int op=4;
        QSqlQuery tb;
        QString q_name="shawnlee";//用户名
        QString q_passwd="420683abc@";//密码
        bool ok;//判断查找是否成功
        switch(op){
        /*说明：qDebug中的内容在实现中都需要变为msgbox显示*/
        case 1:{
            //登录
            ok=tb.exec("select usr_id,passwd from usr_info where usr_name = '"+q_name+"'");
            if(ok){
                tb.next();
                if(tb.value(1).toString()==q_passwd){
                    qDebug()<<tb.value(0).toString();
                    qDebug()<<tb.value(1).toString();
                    qDebug()<<q_passwd;
                    qDebug()<<"登录成功";
                }
                else{
                    qDebug()<<"登录失败";
                }
            }
            else{
                qDebug() << data_base.lastError();
                qDebug()<<"没有注册";
            }
            break;
        }
        case 2:{
            //注册
            QString in_name="姜子牙";
            QString in_passwd="420683abc@";
            ok=tb.exec("insert into usr_info value(0,'"+in_name+"','"+in_passwd+"')");
            if(ok){
                qDebug()<<"注册成功";
            }
            else{
                qDebug()<<"注册失败";
            }
            break;
        }
        case 3:{
            //显示评论
            ok=tb.exec("select * from usr_comment");
            if(ok){
                qDebug()<<"usr_name\tcommet\t";
                while(tb.next()){
                    QString t1=tb.value(0).toString();
                    QString t2=tb.value(1).toString();
                    qDebug()<<t1<<"\t"<<t2;
                }
            }
            else{
                qDebug() << data_base.lastError();//.databaseText()  输出错误信息
            }
            break;
        }
        case 4:{
            //添加评论
            QString q_comment="我是姜子牙";//评论
            ok=tb.exec("insert into usr_comment value('"+q_name+"','"+q_comment+"')");
            if(ok){
                qDebug()<<"添加评论成功";
            }
            else{
                qDebug()<<"添加评论失败";
            }
        }
        }
    }
    data_base.close();//关闭数据库
    return a.exec();
}
